#ifndef __WIZ_ARCHIVE_READER_COMMON_HPP__SHANHAOBO_19800429__
#define __WIZ_ARCHIVE_READER_COMMON_HPP__SHANHAOBO_19800429__

#include "./WizArchiveSerializerLoaderBase.hpp"

#include "./WizArchiveReaderBase.hpp"
#include "./WizArchiveReaderInterface.hpp"

namespace Wiz
{
    namespace Archive
    {
        namespace Reader
        {
            namespace Common
            {
                template<class ArchiveT>
                struct Type : public ::Wiz::Archive::Reader::Base::Type, ::Wiz::Archive::Reader::Interface<ArchiveT>
                {
                protected:
                    template<class DataT>
                    ::Wiz::Void::Type ReadOverride(DataT & InData, ::Wiz::Archive::VerNum::In InVer)
                    {
                        ::Wiz::Archive::Reader::Read(DerivedRef(), InData, InVer);
                    }
                };
            } /// end of namespace Common
        } /// end of namespace Reader
    } /// end of namespace Archive
} /// end of namespace Wiz

#endif /*__WIZ_ARCHIVE_READER_COMMON_HPP__SHANHAOBO_19800429__*/
